Harvesting power from DC (direct current) sources

ABSTRACT

In a solar panel array, each solar panel in a series-connected string has a current source connected across its output terminals. The current source generates a programmable output current equal to the difference of the load current drawn from the panel and the current corresponding to the maximum power point (MPP) of the panel. As a result, each of the panels in the string is operated at its MPP. When the array contains multiple strings connected in parallel, a voltage source is additionally connected in series with each string. The voltage sources are programmable to generate corresponding output voltages to enable operation of each panel in each of the multiple strings at its MPP. Respective control blocks providing the current sources and voltage sources automatically determine the MPP of the corresponding panels. In an embodiment, the control blocks are implemented as DC-DC converters in conjunction with measurement and communication units.

RELATED APPLICATIONS

The present application is related to and claims priority fromco-pending India patent application entitled, “HARVESTING POWER FROM DC(DIRECT CURRENT) SOURCES”, application serial number: 268/CHE/2011,filed on 28-Jan.-2011, naming as inventors Prakash Easwaran, SaumitraSingh, Rupak Ghayal and Amit Premy, and is incorporated in its entiretyherewith.

BACKGROUND

1. Technical Field

Embodiments of the present disclosure relate generally to greentechnologies, and more specifically to harvesting power from DC sourcessuch as solar panel arrays.

2. Related Art

Power is often harvested from various DC sources. DC sources provideoutput power with a fixed or constant polarity, as is well known in therelevant arts. Solar panels are examples of such DC sources.

A solar panel refers to a packaged assembly of photovoltaic cells, witheach cell generally being designed to generate power from incident solarenergy in the form of light. A single solar panel generally producesonly a limited amount of power.

Hence, several solar panels are typically combined to form a solar panelarray. Solar panels may be combined in series to generate a highervoltage output. Multiple series-connected solar panels may also becombined in parallel to enable a higher output current capability.

Power harvesting from solar panel arrays refers to techniques fordrawing power generated by solar panels. The techniques may need to bedesigned to address several concerns, such as for example, the abilityto draw the maximum power from each solar panel in a solar panel array,operational reliability of the panels, etc.

BRIEF DESCRIPTION OF THE VIEWS OF DRAWINGS

Example embodiments will be described with reference to the accompanyingdrawings briefly described below.

FIG. 1 is a block diagram of a prior power generation system that usessolar panel arrays.

FIG. 2 is a graph showing a set of V-I curves of solar panels in asystem.

FIG. 3 is a block diagram illustrating the manner in which each solarpanel in a series string of solar panels is operated at its maximumpower point, in an embodiment of the present invention.

FIG. 4 is a block diagram illustrating the manner in which multipleserial strings of solar panels are deployed in an embodiment of thepresent invention.

FIG. 5 is a block diagram illustrating the manner in which controlblocks are connected to enable operation of solar panels at theirmaximum power point, in an embodiment of the present invention.

FIG. 6 is a block diagram illustrating the manner in which controlblocks are connected to enable operation of solar panels at theirmaximum power point, in an alternative embodiment of the presentinvention.

FIG. 7 is a block diagram illustrating the manner in which controlblocks are connected to enable operation of solar panels at theirmaximum power point, in yet another embodiment of the present invention.

FIG. 8A is a flowchart illustrating the manner in which a control blockconnected across the output terminals of a solar panel determines themagnitude of current to be set, in an embodiment of the presentinvention.

FIG. 8B is a flowchart illustrating the manner in which the peak current(Ipp) and the maximum power point (MPP) of a panel are determined, in anembodiment of the present invention.

FIG. 8C is a flowchart illustrating the manner in which the peak current(Ipp) is determined in another embodiment of the present invention.

FIG. 9A is a block diagram used to illustrate the manner in which acontrol block determines the maximum power point of a solar panel.

FIG. 9B is a power-current graph of a solar panel.

FIG. 10 is a block diagram of the internal details of a control blockused in solar panel arrays, in an embodiment of the present invention.

The drawing in which an element first appears is indicated by theleftmost digit(s) in the corresponding reference number.

DETAILED DESCRIPTION

1. Overview

According to an aspect of the present invention, a system for generatingelectric power includes a first set and a second set of photo-voltaiccells. The first set of photovoltaic cells is designed to provide afirst voltage across a first node and a second node in response toincidence of light. The second set of photo-voltaic cells is designed toprovide a second voltage across the second node and a third node, alsoin response to incidence of light. A first current source is coupledbetween the first node and the second node, and a second current sourceis coupled between the second node and the third node. The first set ofphoto-voltaic cells is provided in a first panel, and the second set ofphoto-voltaic cells are provided in a second panel. The first panel andthe second panel are connected in series at the second node. Each of thefirst current source and the second current source generates acorresponding programmable current to cause the first panel and thesecond panel to operate at their respective maximum power point.

According to another aspect of the present invention, the systemincludes a third panel and a fourth panel respectively containing athird set of photo-voltaic cells and a fourth set of photovoltaic cells.The third panel and the fourth panel are connected in series. A voltagesource is connected in series with the third panel and the fourth panel.The series combination of the voltage source, the third panel and thefourth panel is connected in parallel to the series combination of thefirst panel and the second panel between the first node and the thirdnode. The voltage source is programmable to generate an output voltageto enable all panels in the first panels, second panel, third panel andthe fourth panel to operate at their respective maximum power points.

According to yet another aspect of the present invention, each of thecurrent sources and voltage sources deployed in the system is includedin a corresponding control block. The control blocks operateautomatically to determine the maximum operating points of therespective control panels, and adjust their current and/or voltageoutputs to force the respective panels to operate at their maximum powerpoints. In operating to determine the maximum power points of therespective panels, the control blocks communicate with each other. In anembodiment, each of the control blocks is designed to include aBluetooth and/or ZigBee transceiver to facilitate such communication.

According to yet another aspect of the present invention, each of thecontrol blocks is implemented to include a DC-DC converter, the DC-DCconverter being designed to provide either a current source or a voltagesource at its output. Each of the control blocks further includes ameasurement block to perform measurements for determining the maximumpower point of a panel.

Several features of the present invention will be clearer in comparisonwith a prior solar panel array and the corresponding prior approach isdescribed below first.

2. Solar Panel Array

FIG. 1 is a block diagram of a prior power generation system that usessolar panel arrays. System 100 is shown containing solar panels 110Athrough 110N, 120A through 120N, diodes 150 and 160, maximum power pointtracker (MPPT) 130 and inverter 140.

Panels 110A through 110N and 120A through 120N together represent asolar panel array. Each of the solar panels internally contains multiplephotovoltaic cells connected to generate electric power in response toincident light. Thus, panel 110A generates an output voltage acrossterminals 111 and 112. Each of the other panels similarly generates anoutput voltage across the respective output terminals.

The output voltage generated by a panel is typically small (of the orderof a few tens of volts), and therefore multiple panels may be connectedin series to obtain a higher output voltage from the combination. Insystem 100, panels 110A through 110N (collectively referred to as string110) are shown connected in series, and the resultant output voltageacross terminals 129 and 111 is generally the sum of the output voltagesof the individual panels 110A through 110N. Panels 120A through 120N aresimilarly shown connected in series, and collectively referred to asstring 120.

The current that may be drawn from a single panel also being typicallysmall, multiple series-connected solar panels may be connected inparallel to obtain a higher current. In system 100, strings 110 and 120are shown connected in parallel.

Diodes 150 and 160 are respectively provided to prevent a reversecurrent from flowing through the panels. MPPT 130 is implemented todetermine an optimum power point of operation for the solar panels, andto maintain the operation of the panels at an optimum power point.Inverter 140 converts the DC power output of the solar panel array intoAC power, which is provided across terminals 141 and 142. Although notshown, the AC power may be distributed to consumers directly, or via apower distribution grid.

A solar panel is typically associated with a maximum power point. Themaximum power point (MPP) is an operating point of a solar panel atwhich maximum power is drawn from the panel, and corresponds to avoltage and current on a voltage-to-current (V-I) curve of the panel.FIG. 2 shows a set of V-I curves of some of the solar panels in system100. Curves 210A, 210B and 210N respectively represent the V-Icharacteristics (well known in the relevant arts) of panels 110A, 110Band 110N. The voltage and current axes of the three curves are assumedto be represented on a same scale. The respective maximum power pointsof each of the three panels are denoted by points 201, 202 and 203 inthe corresponding V-I curve. The voltage and current of each panelcorresponding to the MPP is denoted as Vpp and Ipp respectively, and maybe different from panel to panel. Vpp and Ipp are used herein to refergenerically to the voltage and current respectively corresponding to theMPP of a panel, and may be referred as the ‘peak voltage’ and ‘peakcurrent’ of the panel.

It may be observed from FIG. 2 that the MPPs of solar panels 110A, 110Band 110N are not all the same. The differences (or mismatch) in the MPPsmay arise due to several reasons. Some of the reasons include mismatcharising from manufacturing tolerances, different levels of incidentlight energy on the solar panels, etc. In general, the MPPs of all thesolar panels in panels 110 may not be the same. Similarly, the MPPs ofall the solar panels in string 120 may not be the same. However, thecurrent flowing through each of the solar panels in string 110 needs tohave a same magnitude since the panels are connected in series. As aresult, one or more of the panels in string 110 may be operational at apower point different from the corresponding MPP. Similarly, one or moreof panels in string 120 may also be operational at a power pointdifferent from the corresponding MPP. Such operation is not generallydesirable.

Strings 110 and 120 being connected in parallel, the sum of the voltageoutputs of strings 110 and 120 is constrained to be equal. Again, anymismatch between the panels results in one or more of the panels notoperating at its MPP. In general, the arrangement of multiple solarpanels in a serially-connected string often results in one or more ofthe panels operating away from its MPP. Further, such operation awayfrom MPP may occur even if only a single solar panel is present in astring.

Similarly, a parallel arrangement of multiple solar panels also oftenresults in one or more of the panels operating away from its MPP. MPPT130, typically is able to set an operating point only for the entirearray (all shown strings) as a whole, and one or more panels may stilloperate at points that are different from the corresponding MPP of thepanel.

Several features of the present invention address one or more of thedisadvantages noted above. Several aspects of the invention aredescribed below with reference to examples for illustration. It shouldbe understood that numerous specific details, relationships, and methodsare set forth to provide a full understanding of the invention. Oneskilled in the relevant art, however, will readily recognize that theinvention can be practiced without one or more of the specific details,or with other methods, etc. In other instances, well known structures oroperations are not shown in detail to avoid obscuring the features ofthe invention.

3. Connection Topology for a Single String

FIG. 3 is a diagram illustrating the manner in which each solar panel(example of a DC source) in a series string of solar panels is operatedat its maximum power point, in an embodiment of the present invention.

Solar panel array 300 is shown containing a series string of solarpanels formed by panels 310A through 310N. Current sources 320A through320N are also shown in FIG. 3. As is well known in the relevant arts, acurrent source is generally a circuit that provides a constant current(source or sink) despite changes in voltage across a load through whichthe current is sourced or sunk.

A series string of solar panels refers to a solar panel array (such asarray 300) in which the outputs of the solar panels are connected inseries. Thus, the outputs of panels 310A through 310N of FIG. 3 areconnected in series. To clarify, terminals 311 and 312 represent theoutput terminals of panel 310A, terminals 313 and 314 represent theoutput terminals of panel 310B, and terminals 315 and 316 represent theoutput terminals of panel 310C. Terminal 312 of panel 310A is connectedto terminal 313 of panel 310B. Similarly, terminal 314 of panel 310B isconnected to terminal 315 of panel 310C, and so on.

Terminals 399(+) and 301(−) are respectively the positive and negativeterminals of DC power output from the solar panel array of FIG. 3. Asshown in FIG. 3, each solar panel in a serially-connected string has acurrent source connected in parallel, i.e., across its output terminals.Thus, current source 320A is connected across the output terminals 311and 312 of panel 310A. Similarly, current sources 320B and 320N areconnected across the output terminals of panels 310B and 310Nrespectively. A corresponding current source is connected across theoutput terminals of each of the other panels also (not shown, but suchas 310C, 310D, etc.) in the serially-connected string of panels of FIG.3.

Each current source generates a current whose value is programmable, thecurrent being generated to flow in the direction of current-draw fromthe serial-connected string of panels. The direction of current flow ofload current I_(L) through the panels of FIG. 3 is indicated in FIG. 3by arrows 350. The direction of current generated by each current sourceis indicated by the current-source symbols. The value of currentgenerated by each current source is determined based on the maximumpower point (MPP) of the corresponding panel and the load current(I_(L)) drawn from array 300 by a load (or loads) connected acrossterminals 399(+) and 301(−).

In an embodiment described below, the current generated by a currentsource is set to a value equaling the difference between load current(I_(L)) and the current corresponding to the MPP of the panel. Toillustrate, if load current (I_(L)) equals 5A, and the current (Ipp)corresponding to the MPP of panel 310A is 4.5 A, then current source320A is programmed to generate a current equal to 0.5 A, being thedifference of load current (I_(L)) and Ipp (or specifically I_(L)−Ipp).Similarly, assuming the current corresponding to the MPP of panel 310Bis 5 A, then current source 320B is programmed to generate 0 A, i.e., nocurrent. Each of the other current sources is programmedcorrespondingly.

Thus, a current source ‘diverts’ an ‘excess current’ equal to thedifference of I_(L) and Ipp of the panel across which it is connected,thereby maintaining the current through the panel at its Ipp, andtherefore at its MPP. As a result, maximum power is extracted from eachof panels 310A through 310N, and provided as output DC-DC converterpower across terminals 399(+) and 301(−).

While a series-connection of multiple solar panels is shown in FIG. 3,the description with respect to FIG. 3 also applies when only a singlesolar panel is present. For example, assuming that only a single panel310A is connected across terminals 399(+) and 301(−), then (only)current source 320A would be present and connected across terminals 312and 311. The current output of current source 320A would be set to thedifference of the load current and the current corresponding to the MPPof panel 310A.

Extension of the technique of above to multiple parallely-connectedstrings may require further extensions, as described below withadditional examples.

4. Connection Topology for Multiple Parallely-Connected Strings

FIG. 4 is a diagram illustrating the manner in which each solar panelcontained in multiple parallely-connected strings of solar panels isoperated at its maximum power point, in an embodiment of the presentinvention. As shown in FIG. 4, when two or more serial strings of solarpanels are connected in parallel, a programmable voltage source isconnected in series with each serially-connected string of solar panels.In FIG. 4, panels 310A through 310N form one serially-connected string,referred to herein as string 310. Panels 410A through 410M form a secondserially-connected string, referred to herein as string 410. As is wellknown in the relevant arts, a voltage source is generally a circuit thatgenerates a constant voltage despite changes in the value of a loadcurrent drawn from the voltage source. Although the term ‘voltagesource’ is used herein, in general the term ‘power source’ may also beused to describe such a voltage source.

String 310 and string 410 are connected in parallel to enable highercurrent output. Thus, I_(L) of FIG. 4 is the sum of I_(L1) (throughstring 310) and I_(L2) (through string 410).Terminals 499 (+) and 401(−) represent the DC output terminals of the solar panel array of FIG.4. Inverter 440 converts DC power received on paths 499(+)/401(−), andgenerates AC power on paths 455/456. Terminals 455/456 may be connectedto a power grid, or be used to power loads not connected to a powergrid. Inverter 440 may be implemented in a known way.

Programmable voltage source 420 is shown connected in series with string310, and programmable voltage source 430 is shown connected in serieswith string 410. The number M of solar panels in string 410 may be equalto or different from the number N of solar panels in string 310. Ifvoltage sources 420 and 430 were not connected, and instead if nodes 411and 412 were directly connected to node 401, the requirement of both thevoltages across string 310 and string 410 having to be equal may resultin one or more solar panels in string 310 and 410 operating at pointsdifferent from its corresponding MPP. Such operation at points differentfrom the corresponding MPP may result even if M equals N, i.e., evenwhen the number of solar panels in each of string 310 and string 410 areequal. As noted above, this may occur due to mismatches between theindividual solar panels, different levels of incident light falling onthe solar panels, etc.

The connection of voltage sources 420 and 430 enables operation of solarpanels at their respective MPPs when multiple serially-connected stringsare connected in parallel. The magnitude of the voltage output of one orboth of voltage sources 420 and 430 is set to a value to enable eachsolar panel of FIG. 4 to operate at its MPP, when strings areparalleled.

To illustrate, assume that the sum of the voltages of panels in string310 when each of the panels in string 310 is operated at its MPP is V1volts. Assume also that the sum of the voltages of panels in string 410when each of the panels in string 410 is operated at its MPP is V2volts. Under the above assumptions, paralleling of strings 310 and 410will force at least one of the panels in the strings to deviate from itsMPP. Specifically, the voltage output of at least one panel will bedifferent from the voltage corresponding to its MPP, thereby resultingin less-than-maximum power-draw from that panel.

However, when connected as in FIG. 4, and assuming V2 is greater thanV1, voltage source 430 is set to 0V and voltage source 420 is set togenerate (V2−V1) volts, thereby allowing each panel to operate at itsMPP. On the other hand, if V1 is greater than V2, voltage source 420 isset to 0V and voltage source 420 is set to generate (V2−V1) volts. If V1equals V2, then each of voltage sources 420 and 430 is set to 0 volts.

While FIG. 4 is shown containing only two parallel strings, any numberof strings can be formed in parallel, with corresponding voltage sourcesset to generate voltages to enable the voltage across each parallelstring (with each of the constituent solar panels operating at itsrespective MPPs) to be equal. In addition, although theparallely-connected strings (e.g., string 310 and string 410) aredescribed as containing multiple solar panels each, in otherembodiments, each of the parallely-connected string may contain only onesolar panel. In such embodiments also, a voltage source is connected inseries with each of the parallely-connected solar panels, with thevoltage sources operated in a manner similar to that described above.

Further, although, a current source is shown coupled across the outputterminals of each of the solar panels 310A-310N and 410A-410N, in analternative embodiment, the current sources are not provided orconnected, and only voltage sources 420 and 430 are provided as shown.

Further still, while the techniques described herein refer to solarpanels, the techniques can be extended to cover any type of DC powersource in general. Thus, for example, one or more solar panels of FIG. 4can be replaced by other types of DC power sources, including batteries,fuel cells, etc.

Although a solar panel and the associated current source are shown andreferred to separately, in some embodiments a solar panel and currentsource (e.g., panel 310A and current source 320A) can be packaged as asingle assembly. Hence, the combination of a solar panel and a currentsource packaged in single assembly is also referred to herein as a solarpanel.

In an embodiment, the current sources and voltage sources of FIG. 4 areprovided within corresponding control blocks, as described in detailbelow with examples.

5. Implementation

FIG. 5 is a block diagram illustrating an array of serially-connectedsolar panels with corresponding connections to respective control blocksthat provide (and control the magnitudes of) the current sources andvoltage sources connected to the panels in the array. Solar panels 510Athrough 510N are shown connected in series. Serially-connected panels510A through 510N are referred to as string 510. For ease of descriptiononly one-serially connected string of solar panels is shown with thecorresponding DC-DC converters. However, multiple-serially connectedstrings may be connected as shown in FIG. 4. Terminals 599(+) and 501(−)respectively represent the positive and negative DC power outputterminals of the solar array of FIG. 5. Although not shown in FIG. 5,terminals 599(+) and 501(−) may be connected to an inverter forconversion of the output power from DC to AC.

Control blocks 520A through 520N provide the respective current sourcesacross the output terminals of respective panels 510A through 510N. Thecurrent source provided by each control block is indicated in FIG. 5 bya current source symbol. Control block 530 provides a voltage source inseries with serial string 510.

Terminals 521N and 522N represent the power input terminals of controlblock 520N, and receive input power from an input DC power source. Inthe embodiment shown in FIG. 5, control block 520N receives input DCpower from DC power output terminals 599(+)/501(−) of string 510 itself.Similarly each of the other control blocks also receives input powerfrom DC power output 599(+)/501(−). Terminal-pair 521B/522B representsthe input terminals of control block 520B, and terminal-pair 521A/522Arepresents the input terminals of control block 520A. Control block 520Nprovides a current source across output terminals 523N and 524N.Similarly, control blocks 520B and 520A respectively provide a currentsource across respective output terminal-pairs 523B/524B and 523A/524A.The other control blocks (such as 510C, 510D, etc) not shown in FIG. 5also provide respective current sources across the corresponding panel.

Terminal-pairs 531/532 and 533/534 respectively represent the input andoutput terminals of control block 530. Control block 530 provides avoltage source across output terminals 533 and 534, the voltage sourcebeing connected in series with string 510.

Each of control blocks 520A through 520N is designed to enabledetermination of the maximum power point (MPP) of the correspondingpanel to which it is connected in parallel, as described in detail insections below. Thus, control block 520N is designed to determine theMPP of panel 510N, control block 520B is designed to determine the MPPof panel 510B, and so on.

Control block 530 receives information from each of control blocks 520Athrough 520N, with the information specifying the Vpp of each of thecorresponding panels. Control block 530 may also receive data specifyingthe sum of the Vpps of panels in each of other series-connected strings(not shown, but similar to string 410 of FIG. 4) from other controlblocks implemented to provide a voltage source in series with therespective series-connected strings. Based on the information received,control block 530 sets its output voltage (i.e., across terminals 533and 534) to a value that is determined as noted above. The communicationbetween the control blocks may be effected by any one of severalwell-known techniques. In an embodiment, each control block contains aBluetooth/ZigBee transceiver that enables such communication. However,other techniques may be employed in other embodiments, as will beapparent to one skilled in the relevant arts on reading the disclosureprovided herein.

Although in FIG. 5, each control block is shown as receiving input powerfrom DC power output 599(+)/501(−), in other embodiments, one or moreseparate DC power sources not connected to (or derived from) terminals599(+)/599(−) may be used instead. Powering each of the control blocksdirectly from output 599(+)/501(−) may render the design of the controlblocks complex and expensive, since the control blocks may need to bedesigned to handle higher input operating voltages. Output voltage599/501 is typically around 600V-1000V depending on the specific numberof panels in string 510.

FIG. 6 is a diagram illustrating the details of another embodiment, inwhich control blocks are powered by a relatively smaller input voltage(compared to that in FIG. 5). Terminals 621N, 622N, 623N, 624N, 621B,622B, 623B, 624B, 621A, 622A, 623A, and 624A correspond respectively toterminals 521N, 522N, 523N, 524N, 521B, 522B, 523B, 524B, 521A, 522A,523A, and 524A of FIG. 5. Panels 610A through 610N, control blocks 620Athrough 620N, and control block 630, as well as the connections shown inFIG. 6 are identical to those of FIG. 5, except that each of the controlblocks is powered from an intermediate tap (node 611) in string 510.Power-tap node 611 in FIG. 6 is shown as being at the output node of anintermediate solar panel 510G in string 510. However, the specifictap-point corresponding to node 611 may be selected based on the desiredvalue of input DC voltage to be used for powering the control blocks.The voltage at node 611 is less than that at 599(+). The control blockcorresponding to panel 510G is not shown in FIG. 6.

In yet another embodiment, some of the control blocks are powereddirectly from node 599(+), while other control blocks are powered froman intermediate power tap point such as node 611 of FIG. 6. FIG. 7 is adiagram illustrating the details of such an embodiment.

In FIG. 7, only four panels 710A through 710D (collectively referred toas string 710) are shown for ease of description. Each of control blocks720A through 720D operates to provide a current source across the outputterminals of the respective panels, as described above. Control block730 operates identical to control block 530 of FIG. 5. Input power tocontrol blocks 720D and 720C is provided from DC power output terminal799 (+), while input power to control blocks 720B and 720A is providedfrom node 760.

Control blocks 720A, 720B and 730 together draw a current (1760) fromnode 760, the value of current 1760 equaling the sum of the currentsprovided as output by control blocks 720A and 720B and 730 combined(assuming 100% efficiency in each of control blocks 720A, 720B and 730).As a result the current (Is) flowing through the series connection ofpanels 710D and 710C becomes less than the current flowing through theseries combination of panels 710A and 710B, thereby resulting in one ormore of the panels operating at a point different from the correspondingMPP despite the operation of the current sources and the voltage source.In the embodiment of FIG. 7, control block 750 forces a current equal inmagnitude to 1760 into node 760 to nullify the reduction in (Is) by themagnitude equaling 1760.

Control block 750 receives input power across input terminals 751 and752. The input power across input terminals 751 and 752 may be providedfrom the DC power output 799(+)/701(−), any intermediate tap point instring 710, or be received from a DC source, not connected to any of theoutputs of panels in string 710. When input power is provided from anintermediate tap point in string 710, a correction (e.g., by adding acurrent source) similar to that provided by control block 750 due topowering of control blocks 720A and 720B from node 760 may need to beprovided.

Control block 750 may determine the magnitude of current (1760) to begenerated by the current source provided in control block 750 in amanner similar to that determined by any of the control blocks operatingto provide corresponding current sources, and as described in detailbelow. Thus, the addition of a current source provided by control block750 enables an intermediate point such as point 760 to power some of thecontrol blocks used in FIG. 7, while other control blocks are powered byterminals 799(+).

Depending on the specific power input connection to the control blocks,additional current sources such as provided by control block 750 may beconnected across the corresponding terminals of string 710 in a similarmanner.

The manner in which the magnitude of a current to be set in a currentsource and the determination of MPP of a solar panel is performed isdescribed next.

6. Determination of the Magnitude of Current to be Set in a CurrentSource

Techniques for determination of the magnitude of current to be set in acurrent source and the determination of MPP of a solar panel aredescribed with reference to corresponding flowcharts below. Each of theflowcharts below is described with respect to a control block connectedacross a panel merely for illustration. However, various featuresdescribed herein can be implemented in other devices and/or environmentsand using other components, as will be apparent to one skilled in therelevant arts by reading the disclosure provided herein. Further, thesteps in the flowcharts are described in a specific sequence merely forillustration. Alternative embodiments using a different sequence ofsteps can also be implemented without departing from the scope andspirit of several aspects of the present disclosure, as will be apparentto one skilled in the relevant arts by reading the disclosure providedherein.

FIG. 8A is a flowchart illustrating the manner in which a control blockconnected across the output terminals of a solar panel determines themagnitude of current to be set, in an embodiment of the presentinvention. The flowchart starts in step 801, in which controlimmediately passed to step 810.

In step 810, a control block measures a load current flowing through apanel across the terminals of which the control block is connected.Control then passes to step 820.

In step 820, the control block determines a peak current (Ipp)corresponding to a maximum power point (MPP) of the panel. Control thenpasses to step 830.

In step 830, the control block generates an output current equal to adifference of the load current and the peak current (Ipp). The outputcurrent is generated in the current source provided across the outputterminals of the control block. Control then passes to step 849, inwhich the flowchart ends.

The manner in which the determination of the peak current (Ipp) isperformed in an embodiment of the present invention is illustratedbelow.

7. Determination of Peak Current and MPP

FIG. 8B is a flowchart illustrating the manner in which the peak current(Ipp) and the maximum power point (MPP) of a panel are determined in anembodiment of the present invention. The flowchart starts in step 851,in which control immediately passed to step 852.

In step 852, a control block enables a current to flow through a panel.The magnitude of the current flowing through the panel may be set by thecontrol block by suitably setting the value of the current output of acurrent source provided by the panel. Control then passes to step 853.

In step 853, the control block computes the power generated by the panelwhen the current (set in step 852) flows through the panel. Control thenpasses to step 854.

In step 854, the control panel repeatedly changes the magnitude of thecurrent flowing through the panel and re-computes the power generated bythe panel until a maximum power is determined as being generated by thepanel. The maximum power corresponds to the maximum power point (MPP)and the peak current (Ipp) of the panel. Control then passes to step859, in which the flowchart ends.

Thus, the control panel computes the power generated by the panelcorresponding to each of multiple settings of the current magnitudeflowing through the panel. The range of settings of the currentmagnitude is wide enough to ensure that the MPP is determined correctly.The change in the magnitude of current through the panel betweensuccessive iterations may be chosen to minimize the total number ofiterations needed to determine the Ipp. The specific manner in which themagnitude of the current through the panel is changed (step 854) may befrom zero to load current in increasing magnitudes, from load current tozero in decreasing magnitudes, random or in a binary weighted fashion,etc.

FIG. 8C is a flowchart illustrating the manner in which the peak currentIpp is determined by first setting the current through a panel to equalthe load current of the series-connected string in which the panel isconnected, and then reducing the current through the panel till the MPPand Ipp are determined. The flowchart starts in step 861, in whichcontrol immediately passed to step 862.

In step 862, a control block enables a load current (I_(L)) to flowthrough a panel. The control block accordingly sets the current outputof a current source provided in the control block to zero, the currentsource generating the current output to be parallel to the currentflowing through the panel. Control then passes to step 863.

In step 863, the control block computes the power (P) generated by thepanel. The power (P) equals the product of the voltage across the paneland the current flowing through the panel. Control then passes to step864.

In step 864, the control block determines if the power (P) less than apower (Ppr) computed in an immediately previous iteration of the stepsof the flowchart of FIG. 8C. If (P) is less than (Ppr), control passesto step 866. However, if (P) is greater than (Ppr), control passes tostep 865.

In step 865, the control block reduces the magnitude of current flowingthrough the panel. In an embodiment of the present invention, thecontrol block reduces the magnitude by increasing the current output ofthe current source provided in the control block. Control then passes tostep 863.

In step 866, the control block concludes that the current in the presentiteration is the peak current (Ipp) corresponds to the MPP of the panel.Control then passes to step 869, in which the flowchart ends.

Corresponding to the peak current (Ipp), the control block measures thepeak voltage (Vpp) of the panel also. Having determined Ipp of thepanel, the control block sets the current source to generate a currentequal to the difference of the load current and Ipp. It is noted herethat the operations of the flowchart of FIGS. 8B and 8C are performed‘on-line’, i.e., with a solar panel array connected to a load, and witha load current being drawn from the solar panel array. There is, thus,no requirement to remove the panels from the array or disconnecting thearray from the load for making the MPP determination.

FIG. 9A and FIG. 9B are diagrams used to further illustrate theoperations of the steps of the flowcharts described above with respectto FIGS. 8A, 8B and 8C. FIG. 9A shows solar panel 910, control block 920and sense resistor (Rs) 930. Terminals 921 and 922 represent the inputterminals of control block 920 and receive DC input power, not shown,but in a manner similar to that described above with respect to FIG. 5,6 or 7. Terminals 924 and 925 represent the output terminals of controlblock 920. Terminal 923 represents an input terminal of control block920. Control block 920 provides a current source across terminals 925and 924, and the current generated by the current source will bereferred to below as current 950.

It is noted here that although not shown in any of FIGS. 4, 5, 6 and 7,each solar panel is associated with a sense resistor, which is connectedin series with the output of the corresponding solar panel. When thesolar array is operational, load current I_(L) flows through a senseresistor and the voltage drop across the sense resistor provides ameasure of I_(L).

To determine the MPP of panel 910, control block 920 initially setscurrent 950 to 0 A (0 Amperes). With current 950 set to 0 A, loadcurrent I_(L) equals the current (Ipanel) flowing through panel 910.Control block 920 measures the voltage drop across sense resistor 930(Rs). The voltage drop across Rs is measured via terminals 925 and 923.Control block 920 divides the voltage drop by Rs (resistance Rs has apredetermined value) to obtain the value of Ipanel. Control block 920also measures the voltage drop across terminals 923 and 924, whichequals the voltage output Vp of panel 910. Control block obtains theproduct of Ipanel and Vp to compute the operating power point of panel910. The product (Ipanel*Vp), thus obtained, corresponds to a setting of0 A of current 950.

Control block 920 then increments current 950 to a value I1. Thespecific value by which current 950 is incremented may be selected basedon the accuracy with which the MPP of panel 910 is to be determined, andthe resolution of current source 950. With current source 950 set to I1,the current (Ipanel) through panel 910 equals the difference of I_(L)and I1. Control block 920 again computes the product of the voltageacross terminals 923 and 924 and the current through panel 910 (equal toI_(L)−I1) to determine the power output of panel 910. Depending onwhether the computed power is less than or greater than the powercorresponding to current 950 being zero, control block 920 eitherincreases or decreases I1 prior to the next iteration of measurement.

FIG. 9B is a graph showing the variations in power (P) generated bypanel 910 with respect to output current (I) of panel 910. The graphshown in FIG. 9B is similar to the V-I curves of FIG. 2, except thatpower (instead of voltage) is shown along the y axis. Assume, forillustration, that operating point T1 corresponds to the power(generated by panel 910) measured by control block 920 when current 950is 0 A. Control block 920 increases current 950 to a non-zero value asnoted above for the next iteration, in which current 950 is I1. Assumingthat operating point T2 represents the power measured by control block920 for the iteration, it may be observed that the power generated bypanel 910 corresponding to T2 is greater than that at T1.

In a next iteration, control block 920 further increases current 950,thereby further reducing the current (Ipanel) through panel 910. Assumethat T3 represents the power corresponding to the iteration. It may beobserved that power corresponding to T3 is lesser than thatcorresponding to T2. Therefore, control block 920 concludes that T2represents the maximum power point (MPP) of panel 910. Ipp910 representsthe current at MPP T2, and is thus the peak current Ipp. The voltagecorresponding to point T2 is the peak voltage Vpp. Thus, by measuringthe power generated by panel 910 for various settings of current 950,control block 920 is able to determine the MPP of panel 920. Controlblock 920, thus, obtains the value of the peak current Ipp910corresponding to the MPP of panel 910. With the combined knowledge ofIpp910 and the value of I_(L), control block 920 sets the value ofcurrent 950 to a value equal to (I_(L)−Ipp910), thereby ensuring thatpanel 910 operates at its MPP.

It is noted here that, in an alternative embodiment, current source 950may be connected across terminals 923 and 924. In such an embodiment,control block 920 needs to measure the voltage across sense resistor 930once initially (with magnitude of current 950 set to 0 A) to determinethe load current I_(L). Control block 920 then iteratively reduces themagnitude of the current (Ipanel) flowing through panel 910 bycorrespondingly increasing the magnitude of current 950 in eachiteration. The value of Ipanel in each iteration being the difference ofI_(L) and current 950 for that iteration, control block computes thepower output of panel 910 as the product of the difference and thevoltage across panel 910. Control block 920 determines the MPP of panel910 in a manner similar to that described above. In such an embodiment,only one sense resistor may be provided. The control block whichmeasures I_(L) by reading the voltage drop across the sense resistor maybe designed to communicate the magnitude of I_(L) to other controlblocks in the array.

The magnitude of load current I_(L) may vary with time. The operatingconditions of panel 910 may also vary with time. For example, the levelof incident light on panel 910 may vary with the time of the day or dueto clouds or other factors. As a result Ipp910 may also vary with time.Therefore, control block may repeat the determination of MPP of panel910 at regular intervals, for example, once every ten seconds.

In a manner similar to that described above, each ‘current-source’control block (i.e., a control block that is designed to provide acurrent output, such as control blocks 520A-520N of FIG. 5) in a solarpanel array implemented according to the present invention determinesthe MPP of the panel across which it is connected. Thus, with referenceto FIG. 5 for example, each of control blocks 520A through 520Ndetermines the MPP of respective panels 510A through 510N. Assumingmultiple serially-connected strings are connected in parallel, each ofthe corresponding additional control blocks operating to provide currentsources determines the MPP of the respective panel to which it isconnected. Thus, each current-source control block determines both theIpp value (i.e., the magnitude of current corresponding to the MPP ofthe panel) of the panel across which it is connected, as well as thevalue of I_(L) flowing through the serial string of panels of which itis a part, and thereby determines the value of current it needs togenerate.

In an embodiment, control block 750 of FIG. 7 determines the magnitudeof current 1760 in a manner similar to that described above with respectto FIG. 8B. In the example of FIG. 7, the combination of panels 710D and710C is referred to as Pa1, and the combination of panels 710B and 710Aas Pa2. Control block 750 initially sets the magnitude of output currentof the current source provided in control block 750 to 0 A. Controlblock 750 measures the voltage drop across sense resistor 790 viaterminals 753 and 755 to obtain the value of current Is. Control block750 measures the corresponding voltage drop across nodes 799(+) and 761.The product of Is and the voltage drop across nodes 799(+) and 761provides the power output of Pa1. Control block 750 then increases thecurrent output of the current source in control block 750, and repeatsthe measurement of Is and the voltage across 799(+) and 761 till thecomputed power across Pa1 is a maximum. Control block 750 sets themagnitude of the current of the current source in control block 750 tothe value corresponding to the maximum power across Pa1. The specifictechnique employed by control block 750 to determine the requiredmagnitude of output current of its current source is provided merely byway of illustration, and other techniques will also be apparent to oneskilled in the relevant arts upon reading the disclosure herein.

Referring again to FIG. 8B, for correct determination of Ipp of a panelin a serially-connected string of panels, the technique described aboverequires that I_(L) associated with the string be larger than thelargest-valued Ipp among the Ipps of panels in the string. Thus, withreference to FIG. 5, for example, the value of I_(L) needs to be largerthan the largest Ipp among Ipps of panels 510A through 510N. When I_(L)is smaller than ‘N’ number of Ipps of panels in a serial string, thenaccording to the MPP determination algorithm described above, N of thecurrent source control blocks would have determined that the requiredoutput current setting is 0 A, which may be erroneous. The reason forthe possible erroneous determination of the required output currentsetting is that a current source control block can only reduce (butcannot add to) the current flowing through the associated panel.

According to an aspect of the present invention, the voltage-sourcecontrol block (i.e., the control block that is designed to provide avoltage output, such as control block 530 of FIG. 5) in a serial stringof panels communicates with all the current-source control blocks in thestring to obtain information specifying which of the current-sourcecontrol blocks has determined that its output current should be set to 0A. Thus, with respect to FIG. 5, each of current-source control blocks520A through 520N provides to voltage source control block 530 dataspecifying if its output current was determined as required to be set tozero. If the output current of one or more of the current source controlblocks was determined as 0 A, the voltage source control block increasesthe current drawn from its input power source, thereby increasing thevalue of I_(L). Thus, for example, with respect to FIG. 5, voltagesource control block 530 increases its output current on path 533 to534, thereby increasing I_(L).

After the voltage source control block increases its output current (bya predetermined magnitude), each of the current-source control blocksagain determines the MPP and the value of Ipp of its associated panel.Each of the current source control blocks then communicates to thevoltage source control block whether the determined value of the Ipp ofthe associated panel is 0 A. If any of the re-determined Ipps is 0 A,the voltage source control block further increases the value of I_(L).The determining of the Ipps and increasing of I_(L) is repeated tillnone of the determined Ipps equals 0 A. Thus, the algorithm ensurescorrect determination of MPP of a solar panel. Voltage source controlblock 530 may be viewed as effectively ‘setting’ the magnitude of loadcurrent drawn from string 510.

A voltage source control block may be used to set the magnitude ofcurrent flowing through a series-connected string. Referring to FIG. 3,although a voltage source is not shown there in the interest of clarity,in practice a voltage source is connected in series with panels310A-310N. The corresponding voltage source control block (providing thevoltage source) may be used to set the value of load current 350.Further, the voltage source control block may operate to (further)increase the current through string 310 if one or more current sourcesettings in the is 0 A, as described above.

Similarly, when multiple serially-connected strings are connected inparallel, as illustrated with respect to FIG. 4, the respective voltagesource control blocks (providing voltage source 420 and 430respectively) may be used to set the magnitudes of the respectivecurrents I_(L1) and I_(L2). In addition, the corresponding voltagesource control block(s) may add a respective voltage in series with thecorresponding string, as noted above. Additionally, the voltage sourcecontrol blocks may also operate to (further) increase the currentsthrough the respective strings if one or more current source settings inthe corresponding string(s) is 0 A, as also described above.

The communication between the current source control blocks and thevoltage source control block associated with a serially-connected stringof solar panels may be performed using any of several techniques. In oneembodiment, each control block contains a bluetooth transceiver, and thecommunication is performed wirelessly using the bluetooth communicationprotocol. In an alternative embodiment, each of the control blocks isconnected to a single shared bus. The current source control blocks gainaccess to the bus using one of several possible arbitration mechanisms,and transfer information to the corresponding voltage source controlblock. Communication in the reverse direction, i.e., from the voltagesource control block to the current source control blocks, also takesplace via the shared bus. Other embodiments can be designed to use othertechniques for communication between the control blocks, as will beapparent to one skilled in the relevant arts.

The description is continued with an illustration of the internaldetails of a control block.

8. Control Block

FIG. 10 is a block diagram illustrating the details of a control block,in an embodiment of the present invention. Control block 1000, which canbe implemented as the current source control blocks and voltage sourcecontrol blocks of the description provided above, is shown containingmeasurement block 1010, output power control block 1020, electricalisolation block 1030, input filter 1040, output filter 1050 andcommunication block 1060.

Control block 1000 receives input power on path 1041. Input filter 1040provides input-side filtering to the voltage received on path 1041, andprovides a filtered voltage on path 1043. Electrical isolation block1030, which may be implemented as a transformer, provides electricalisolation between the input power path 1041 and output power path 1051.

Output power control block 1020 receives the output of electricalisolation block 1030 on path 1032, and operates to control the magnitudeof either an output voltage or an output current provided on path 1025.When control block 1000 is implemented as a current source controlblock, output power control block 1020 is designed to generate a currentoutput on path 1025, and thus operates to provide a current source.Output power control block 1020 may receive commands on path 1012 frommeasurement block 1010 to change the magnitude of output current oroutput voltage generated on path 1025, and operate to provide thechanged magnitude of output current or voltage. In addition, outputpower control block 1020 may also receive data on path 1062 fromcommunication block 1060 specifying that the output current or outputvoltage be set to a specific magnitude.

When control block 1000 is implemented as a voltage source controlblock, output power control block 1020 is designed to generate a voltageoutput on path 1025. Output power control block 1020 may also receivedata from current source control blocks via communication block 1060 andpath 1062, with the data indicating the value of Ipp as well as thevoltage corresponding to the MPP as determined by the current sourcecontrol blocks. In response, output power control block 1020 may operateto change the magnitude of output voltage or output current provided onpath 1025.

Output filter 1050 is used to filter the signal (current or voltage) onpath 1025, and provides a filtered output on output path 1051.

Measurement block 1010 receives voltage inputs via measurement inputpath 1011, and operates to measure the magnitudes of the receivedvoltages. Measurement block 1010, thus, performs the measurement ofvoltages performed by the current source control blocks described above.In response to the measured voltage values, and based on the MPPdetermination algorithm described in detail above, measurement block1010 may generate commands on path 1012 specifying if output powercontrol block 1020 needs to change the magnitude of output current 1020.Measurement block 1010 may communicate with external control blocks viacommunication block 1060 and path 1061. Thus, measurement block 1010operates consistent with the operations described above needed to beperformed to determine MPP of a panel. Measurement block 1010 maycontain a memory unit internally for storage of measurement results.

Communication block 1060 operates to provide communication betweencontrol block 1000 and external components, specifically other controlblocks in a solar panel array. Path 1061 represents a communication pathon which communication block 1060 communicates with other controlblocks. Based on the specific implementation, path 1061 may represent awireless or wired communication medium. When control block 1000 isdesigned to communicate using bluetooth wireless protocol, communicationblock 1060 contains the transmitter and receiver portions of a bluetoothtransceiver, and may be connected to wireless path 1061 via an antenna,not shown. When control block 1000 is designed to communicate on a wiredpath, communication block may include the corresponding interfaces (suchas bus arbiter, line driver, etc). Communication block 1060, incombination with measurement block 1010, performs the correspondingoperations described above to enable operation of the correspondingpanel at its MPP.

With combined reference to FIG. 10 and FIG. 9A, path 1011 corresponds tothe combination of paths 823, 824 and 825. Path 1051 corresponds toterminals 823 and 824. Path 1041 corresponds to terminals 821 and 822.

In an embodiment of the present invention, the combination of outputpower control block 1020, electrical isolation block 1030, input filter1040 and output filter 1050 is implemented by a DC-DC converter, and maybe implemented in a known way. For example, the DC-DC converter may bedesigned as a buck converter, boost converter, flyback converter,pulse-width modulated (PWM) converter, etc., as is well known in therelevant arts. Measurement block 1010 may be implemented using digitallogic blocks (such as a processing unit), memory, and analog-to-digitalconverter. The memory may be implemented as a combination of volatile aswell as non-volatile (non-transient) storage units. The non-volatilestorage unit may be used to store instructions for execution by theprocessing unit. Thus, instructions for performing the MPP-determinationoperations described in detail above may be stored as a program in thenon-volatile storage unit, and the processing unit may execute theinstructions to enable determination of the MPP of a panel. In addition,the instructions may also perform communication with other controlblocks to enable the determination of the MPP.

In the illustrations of FIGS. 3, 4, 5, 6, 7 and 9A althoughterminals/nodes are shown with direct connections to various otherterminals, it should be appreciated that additional components (assuited for the specific environment) may also be present in the path,and accordingly the connections may be viewed as being electricallycoupled to the same connected terminals.

While various embodiments of the present disclosure have been describedabove, it should be understood that they have been presented by way ofexample only, and not limitation. Thus, the breadth and scope of thepresent disclosure should not be limited by any of the above-describedembodiments, but should be defined only in accordance with the followingclaims and their equivalents.

What is claimed is:
 1. A system for generating electric power, saidsystem comprising: a first DC source to provide a first voltage across afirst node and a second node, wherein said first DC source isimplemented in a form of a first set of photo-voltaic cells provided ina first panel; a second DC source to provide a second voltage acrosssaid second node and a third node, also in response to incidence oflight, wherein said second DC source is implemented in a form of asecond set of photo-voltaic cells provided in a second panel; a firstcurrent source coupled between said first node and said second node; asecond current source coupled between said second node and said thirdnode; and a first voltage source coupled in series with said first DCsource and said second DC source to operate the system at maximum power,a second voltage source, wherein the output of said second voltagesource is programmable; a third panel and a fourth panel connected inseries with said second voltage source, the series combination of saidthird panel, said fourth panel and said second voltage source beingcoupled in parallel to the series combination of said first panel, saidfirst voltage source, and said second panel between said first node andsaid third node; a third current source coupled in parallel to a thirdset of photo-voltaic cells contained in said third panel; and a fourthcurrent source coupled in parallel to a fourth set of photo-voltaiccells contained in said fourth panel.
 2. The system of claim 1, whereineach of said first DC source and said second DC source is implemented inthe form of a corresponding set of photo-voltaic cells such that saidfirst DC source comprise said first set of photo-voltaic cells and saidsecond DC source comprise said second set of photo-voltaic cells.
 3. Thesystem of claim 2, wherein said first panel and said second panel areconnected in series at said second node.
 4. The system of claim 3,wherein the output power of said system is provided across said firstnode and said third node, wherein the current flowing through at leastone of said first current source and said second current source isprogrammable to cause a current through said at least one of said firstcurrent source and said second current source to equal a currentcorresponding to a maximum power point (MPP) of the corresponding panel.5. The system of claim 4, wherein both of said first current source andsaid second current source are programmable, the first current sourcebeing provided by a first control block and the second current sourcebeing provided by a second control block, the system further comprisinga sense resistor coupled in series with said first panel, wherein saidfirst control block is designed to measure a load current flowingthrough said first panel by measuring a voltage drop across said senseresistor, the first control block also designed to determine a peakcurrent (Ipp) corresponding to a maximum power point (MPP) of said firstpanel, wherein the first control block generates, in said first currentsource, a current equal to a difference of said load current and saidpeak current (Ipp).
 6. The system of claim 1, wherein the first currentsource is provided by a first control block, the second current sourceis provided by a second control block, the second voltage source isprovided by a third control block, the third current source is providedby a fifth control block, the fourth current source is provided by asixth control block, and a fourth control block sets output voltage ofthe second voltage source equal to a predefined voltage.
 7. The systemof claim 6, wherein each of said first control block, said secondcontrol block, said third control block, said fourth control block, saidfifth control block and said sixth control block receives input powerfrom said first node.
 8. The system of claim 6, wherein each of saidfirst control block, said fourth control block, said fifth controlblock, and said sixth control block receives input power from said firstnode, wherein each of said second control block and said third controlblock receives input power from said second node, the system furthercomprising a seventh control block to provide a fifth current sourcecoupled across said second node and said third node.
 9. The system ofclaim 1, wherein if the sum of the voltage outputs of said first paneland said second panel corresponding to the respective MPPs of said firstpanel and said second panel is V1 volts, and if the sum of the voltagesof said third panel and said fourth panel corresponding to therespective MPPs of said third panel and said fourth panel is V2 volts,said third control block sets the output voltage of said first voltagesource to equal (V2−V1) volts and said fourth control block sets theoutput voltage of said second voltage source to equal zero volts, if V2is greater than V1, said third control block setting said output voltageof said first voltage source to equal zero volts and said fourth controlblock setting said output voltage of said second voltage source equal to(V1−V2) volts, if V1 is greater than V2, and each of said third controlblock and said fourth control block setting said output voltage of saidfirst voltage source and said output voltage of said second voltagesource to zero volts if V1 equals V2.
 10. The system of claim 1, furthercomprising an inverter coupled between said first node and said thirdnode, the inverter to convert the output DC power provided across saidfirst node and said third node to AC power.
 11. A system for generatingelectric power, said system comprising: a first set of photo-voltaiccells forming a first panel to provide a first voltage across a firstnode and a second node, in response to incidence of light; a firstcurrent source coupled between said first node and said second node; afirst programmable voltage source coupled in series with said firstpanel between said first node and said second node, wherein DC outputpower of said system is provided across said first node and said secondnode, and wherein said first current source is programmable to cause afirst current corresponding to the maximum power point (MPP) of saidfirst panel to flow through said first panel; a second set ofphoto-voltaic cells forming a second panel, said second panel coupledbetween said first node and said second node in parallel with said firstpanel, said second panel to provide a second voltage across said firstnode and said second node, also in response to incidence of light; asecond current source coupled between said first node and said secondnode; and a second programmable voltage source coupled in series withsaid second panel between said first node and said second node, whereinsaid second current source is programmable to cause a second currentcorresponding to the maximum power point (MPP) of said second panel toflow through said second panel.
 12. The system of claim 11, wherein ifvoltage output of said first panel corresponding to the MPP of saidfirst panel is V1 volts, and wherein if voltage output of said secondpanel corresponding to the MPP of said second panel is V2 volts, anoutput voltage of said first programmable voltage source is set equal to(V2−V1) volts and an output voltage of said second programmable voltagesource is set to equal zero volts, if V2 is greater than V1, said outputvoltage of said first programmable voltage source being set to zerovolts and said output voltage of said second programmable voltage sourcebeing set to (V1−V2) volts, if V1 is greater than V2, and each of saidoutput voltages of said first programmable voltage source and saidsecond programmable voltage source being set to zero volts if V1 equalsV2.
 13. The system of claim 11, wherein each of said first currentsource, said second current source, said first programmable voltagesource and said second programmable voltage source is provided by acorresponding DC-DC converter.
 14. The system of claim 11, furthercomprising an inverter coupled between said first node and said secondnode, the inverter to convert said DC output power to AC power.
 15. Asystem for generating electric power, said system comprising: a firstset of photo-voltaic cells forming a first panel to provide a firstvoltage across a first node and a second node, in response to incidenceof light; a second set of photo-voltaic cells forming a second panel,said second panel coupled between said first node and said second nodein parallel with said first panel, said second panel to provide a secondvoltage across said first node and said second node, also in response toincidence of light; a first voltage source coupled in series with saidfirst panel between said first node and said second node; and a secondvoltage source coupled in series with said second panel between saidfirst node and said second node.
 16. The system of claim 15, wherein ifthe voltage output of said first panel corresponding to the MPP of saidfirst panel is V1 volts, and wherein if the voltage output of saidsecond panel corresponding to the MPP of said second panel is V2 volts,the output voltage of said first voltage source is set equal to (V2−V1)volts and the output voltage of said second voltage source is set toequal zero volts, if V2 is greater than V1, the output voltage of saidfirst voltage source being set to zero volts and the output voltage ofsaid second voltage source being set to (V1−V2) volts, if V1 is greaterthan V2, and each of the output voltages of said first voltage sourceand said second voltage source being set to zero volts if V1 equals V2.17. The system of claim 16, further comprising: a first current sourcecoupled across the output terminals of said first panel, wherein thecurrent flowing through said first current source is programmable tocause a current corresponding to the maximum power point (MPP) of saidfirst panel to flow through said first panel; and a second currentsource coupled across the output terminals of said second panel, whereinthe current flowing through said second current source is programmableto cause a current corresponding to the maximum power point (MPP) ofsaid second panel to flow through said second panel, wherein the DCoutput power of said system is provided across said first node and saidsecond node, the system further comprising an inverter coupled betweensaid first node and said second node to convert said DC output power toAC power.